import { createStore } from 'vuex'
import user from './modules/user'
import cart from './modules/cart'
import category from './modules/category'
// 引入插件
import createPersistedstate from 'vuex-persistedstate'
// import * as Cookies from 'js-cookie'

export default createStore({
  // 开启严格模式
  strict: true,
  state: {
  },
  mutations: {
  },
  actions: {
  },
  modules: {
    user,
    cart,
    category
  },
  plugins: [
    // 插件的同步机制：只要咱们修改了state中的数据 就会自动同步
    createPersistedstate({
      key: 'rabbit-data', // 存放数据的key
      paths: ['user', 'cart'] // 想把那个模块中的state中的数据进行持久化 就把它的名字放过来
    })
  ]
  // plugins: [
  //   createPersistedstate({
  //     key: 'user-data',
  //     paths: ['user', 'cart'],
  //     storage: {
  //       getItem: key => Cookies.get(key),
  //       setItem: (key, value) => Cookies.set(key, value, { expires: 7 }),
  //       removeItem: key => Cookies.remove(key)
  //     }
  //   })
  // ]
})
